Robust distributed software transactions for Haskell
نویسنده
چکیده
This thesis motivates and develops a robust distributed Software Transactional Memory (STM) library for Haskell. Many real-life applications are distributed by nature. They either control geographically wide spread hardware resources or utilize redundant hardware components to minimize system failure. STM is an abstraction for synchronizing shared resources in concurrent applications. It helps to prevent deadlocks and thus facilitates composing program code. We extend the STM abstraction to distributed systems and present an implementation efficient enough to be used in soft real-time applications. Further, the implemented library is robust in itself, offering the application developer a high abstraction level to realize robustness, hence, significantly simplifying this, in general, complex task.
منابع مشابه
A Haskell-Implementation of STM Haskell with Early Conflict Detection
Software transactional memory treats operations on the shared memory in concurrent programs like data base transactions. STM Haskell integrates this approach in Haskell and provides combinators to build software transactions in a composable way. In previous work we introduced the process calculus CSHF as a formal model for a concurrent implementation of software transactional memory in Concurre...
متن کاملTransactional Tasks: Parallelism in Software Transactions
Many programming languages, such as Clojure, Scala, and Haskell, support different concurrency models. In practice these models are often combined, however the semantics of the combinations are not always well-defined. In this paper, we study the combination of futures and Software Transactional Memory. Currently, futures created within a transaction cannot access the transactional state safely...
متن کاملModular transactional memory
Software transactional memory has the potential to greatly simplify development of concurrent software, by supporting safe composition of concurrent sharedstate abstractions. However, STM semantics are defined in terms of low-level reads and writes on individual memory locations, so implementations are unable to take advantage of the properties of user-defined abstractions. Consequently, the pe...
متن کاملA Specification of Open Transactional Memory for Haskell
Transactional memory (TM) has emerged as a promising abstraction for concurrent programming alternative to lock-based synchronizations. However, most TM models admit only isolated transactions, which are not adequate in multi-threaded programming where transactions have to interact via shared data before committing. In this paper, we present Open Transactional Memory (OTM), a programming abstra...
متن کاملA Hybrid TM for Haskell
Much of the success of Haskell’s Software Transactional Memory (STM) can be attributed to the language’s type system and purity, which together allow transactions to be expressed safely and precisely. By construction, transactions are free from many of the perils that other systems must work hard to avoid. Users do have to work in a constrained environment as a result, but the popularity of Has...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2011